import os
from docx import Document

def has_non_text_content(docx_path):
    doc = Document(docx_path)
    
    # 判断是否有表格
    if doc.tables:
        return True, "表格"

    # 判断是否有图片
    # 图片实际上是保存在 docx 文件的 media 文件夹下
    from zipfile import ZipFile
    with ZipFile(docx_path, 'r') as docx_zip:
        file_list = docx_zip.namelist()
        images = [f for f in file_list if f.startswith('word/media/')]
        if images:
            return True, "图片"

    return False, None

# 批量检测一个目录下的所有 Word 文件
folder = 'data/初赛A榜/赛题制度文档/外汇资料'
for filename in os.listdir(folder):
    if filename.endswith('.docx'):
        path = os.path.join(folder, filename)
        has_content, content_type = has_non_text_content(path)
        if  has_content:
            # print(f"{filename}: 包含非文字内容（{content_type}）")
            print(f"{filename}: {'包含' if has_content else '不含'}非文字内容{f'（{content_type}）' if content_type else ''}")
